﻿namespace CGF
{
    public interface IAwake
    {
        void Awake();
    }

    public interface IAwake<P>
    {
        void Awake(P param);
    }

    public interface IAwake<P1, P2>
    {
        void Awake(P1 pram1, P2 pram2);
    }

    public interface IAwake<P1, P2, P3>
    {
        void Awake(P1 pram1, P2 pram2, P3 pram3);
    }

    public interface IAwake<P1, P2, P3, P4>
    {
        void Awake(P1 pram1, P2 pram2, P3 pram3, P4 pram4);
    }

    public interface IFixedUpdate
    {
        void FixedUpdate();
    }

    public interface IUpdate
    {
        void Update();
    }

    public interface ILateUpdate
    {
        void LateUpdate();
    }

    public interface IDestroy
    {
        void OnDestroy();
    }

    public interface IAppFocus
    {
        void OnAppFocus(bool focus);
    }

    public interface IAppPause
    {
        void OnAppPause(bool pause);
    }
}
